$(document).ready(function() {
	
	window.initTagsInput = function(){
		$('input.tagsinput-one, input.tagsinput-many').each(
			function() {
				var $this = $(this);
				var maxTagsCount = parseInt($this.attr('max-tag'));
				if (0 === maxTagsCount) {
					maxTagsCount = 1;
				}

				var showField = $this.attr('show-field');
				if (!showField) {
					showField = 'title';
				}
				// для каждого поля получаем его значение
				var val = $this.attr('data-value');
				// прикручиваем плагин
				if ($this.data('tagsinputed')) {
					return;
				}
				$this.data('tagsinputed', true);
				$this.tagsinput({
					itemValue : '_id',
					itemText : showField,
					maxTags : maxTagsCount,
					minLength : 2,
					typeahead : {
						delay:50,
						source : function(query) {
						return $.getJSON($this.attr('query-url') + '?query=' //'/geo/typeahead?query='
							+ escape(query));
					} } });

				$('.tagsinput-bootafor').hide();

				// добавляем значения
				if (val) {
					$.getJSON($this.attr('query-url') + '?values=' + escape(val),
						function(data) {
							$this.data('disableСhange', true);
							$.each(data, function(key, val) {
								$this.tagsinput('add', val);
							});
							$this.data('disableСhange', false);
						});
				}
			});

		// убиваем текст если ушли из поля
		$('input.tagsinput-one').each(function(){
			var $this = $(this);
			$this.parent().find('div.bootstrap-tagsinput input').focusout(function(){
				$(this).val('');
			});
		});
	};
});